﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AmiEmuLib.AmigaConfiguration.ChipsetConfig;
using AmiEmuLib.AmigaConfiguration;
using AmiEmuLib.AmigaConfiguration.CoreConfig;

namespace AmiEmuLib
{
    public static class Consts
    {
        public const uint MB_512 = 512 * 1024 * 1024;
        public const uint MB_256 = 256 * 1024 * 1024;
        public const uint MB_128 = 128 * 1024 * 1024;
        public const uint MB_064 = 64 * 1024 * 1024;
        public const uint MB_032 = 32 * 1024 * 1024;
        public const uint MB_016 = 16 * 1024 * 1024;
        public const uint MB_008 = 8 * 1024 * 1024;
        public const uint MB_004 = 4 * 1024 * 1024;
        public const uint MB_002 = 2 * 1024 * 1024;
        public const uint MB_001 = 1 * 1024 * 1024;
        public const uint KB_1536 = 1536 * 1024;
        public const uint KB_1024 = 1 * 1024 * 1024;
        public const uint KB_0512 = 512 * 1024;
        public const uint KB_0256 = 256 * 1024;
        public const uint KB_0128 = 128 * 1024;
        public const uint KB_0064 = 64 * 1024;

        public const uint KB = 1024;
        public const uint MB = 1024 * 1024;

        public const int FREQ_PAL = 7093790;
        public const int FREQ_NTSC = 7159090;

        public const uint MB_16_END = MB_016 - 1;
        public const uint MB_16_MASK = MB_016;

        public const byte RESET_BYTE_VALUE = 0xFF;
        public const ushort RESET_WORD_VALUE = 0xFFFF;
        public const uint RESET_LONG_VALUE = 0xFFFFFFFF;

        public const uint BANK_SIZE = 0x10000;
        public const uint BANKS_COUNT = 0x10000;
        public const uint BANK_MASK = 0xFFFF;
        public const uint BANKS_COUNT_24 = MB_016 / BANK_SIZE;
        public const uint LAST_AMIGA_MEMORY_BYTE = uint.MaxValue;

        public const uint LONG_MASK = ~3u;
        public const uint WORD_MASK = ~3u;

        public const int AUDIO_CHANNELS = 4;
    }
}
